divide and conquer in analysis of algorithms